<?php
/*
 * [JINYUN!] (C)2001-2099 Jinyunweb.com
 * This is NOT a freeware, use is subject to license terms
 * $Id: 2017-12-13 03:39:35 apple $
*/
/*
	插件小程序（小程序市场）
	直接从小程序市场选购，然后安装发布
	业务流程：先从小程序市场选购——选购成功后自动创建小程序，然后自动发起小程序授权——再通过开放平台提交代码，申请审核——审核通过后发布
	是否添加一个小程序列表管理所有小程序——对于插件小程序来说需要一个列表
	那么微官网小程序和diy小程序是否也一起放到这个列表里面呢。微官网小程序和diy小程序特点是直接扫码上传。一起放到小程序列表
	本页面执行功能：
	选购小程序，选购之后检查是否存在小程序ID，如果存在则直接更新，否则新建小程序然后自动发起授权。
*/
defined('BY_JYA') or exit('error');
$_RQ['op']=$_RQ['op']?$_RQ['op']:'list';
$return=array();
if($_RQ['basicname']){
	$_SESSION['plugin_name'] = $_RQ['basicname'];
}
if($_RQ['op']=='addons'){
	//小程序
	$wxapp_id=intval($_RQ['id']);
	$params=array('type <>'=>4);
	if($_RQ['title']){
		$params['title like']='%'.trim($_RQ['title']).'%';
		$return['params']['title']=trim($_RQ['title']);
	}
	$fields=array('id','title','plugin','version','name');
	$pindex = max(1, $_RQ['page']);
	$psize = 100;
	$total='';
	$list=pdo_getslice('core_wxapp',$params,array($pindex,$psize),$total,$fields);
	if($list){
		foreach($list as &$item){
			$item['plugin']=$item['plugin']?$item['plugin']:$item['name'];
			$item['plugin']=pdo_getcolumn('core_plugins',array('name'=>$item['plugin']),'title');
			$item['buy']=0;
			//$install = check_permission($item['name']);
			//if($install || $item['name']=='core' || $item['plugin']=='core'){
				$item['is_install'] = 1;
			//}else{
			//	$item['is_install'] = 0;
			//}
		}
	}
	$return['list']=$list;
	$totalpage=ceil($total/$psize);
	$totalpage=intval($totalpage);
	$return['totalpage'] =$totalpage;
	$return['params']['page'] =$pindex;
	$return['groups']=get_plugin_styles();
	unset($return['groups'][8],$return['groups'][9]);
	exi($return);
}
if($_RQ['op']=='list'){
	//小程序
	$params=array('uniacid'=>$_SESSION['uniacid'],'type'=>2);//应用小程序
	if($_RQ['title']){
		$params['title like']='%'.trim($_RQ['title']).'%';
		$return['params']['title']=trim($_RQ['title']);
	}
	if(!$_RQ['isall'] && $_SESSION['plugin_name']){
		//$params['plugin_name']=$_SESSION['plugin_name'];
	}else{
		$_SESSION['plugin_name']='';
	}
	$fields=array('id','title','isdiy','is_local','appid','type','version','plugin_name','isdiyindex','uptime');
	$pindex = max(1, $_RQ['page']);
	$psize = 10;
	$total='';
	$list=pdo_getslice('core_account_wxapp',$params,array($pindex,$psize),$total,$fields,'','id desc');
	if($list){
		foreach($list as &$row){
			$row['fans']=array('action'=>'wxapp.fans','op'=>'list','query'=>'wxapp_id='.$row['id'],'title'=>'粉丝管理');
			$row['plugin_title']=pdo_getcolumn('core_plugins',array('name'=>$row['plugin_name']),'title');
			$lasttime=pdo_getcolumn('core_wxapp',array('name'=>$row['plugin_name']),'lasttime');
			if($lasttime>$row['uptime']){
				$row['shownew']=1;
			}
			if($lasttime){
				$row['candiy']=1;
			}
			$row['wxappurl']=custom_url('core/home.scheme//type=wxapp&id='.$row['id'],true);
			$row['wxapppath']='core/home.scheme//appid='.$row['appid'].'&type=wxapp&id='.$row['id'];
		}
	}
	$return['list']=$list?$list:array();
	$totalpage=ceil($total/$psize);
	$totalpage=intval($totalpage);
	$return['totalpage'] =$totalpage;
	$return['params']['page'] =$pindex;
	$htmls=array(
		'type'=>'list',
		'tabs'=>array(
			array('op'=>'list','title'=>'应用小程序列表'),
			array('op'=>'edit','title'=>'添加小程序'),
			array('op'=>'renzheng','title'=>'域名认证文件上传'),
			array('op'=>'upbao','title'=>'小程序包合并'),
		),
		'list'=>array('psize'=>$psize,'total'=>$total,'data'=>'list',
				'tip'=>'【温馨提示】：<red>如果要丰富服务端内容，请移步《场景应用》或《其他应用》，这里只是发布应用小程序的地方，只有安装了的小程序这里才会出现！</red>
						</br>【什么是应用小程序】：应用小程序是，针对不同的插件/模块/场景体，专门的原生态小程序包，具有拿来直接使用，无需DIY，代码包稳定等特点；另外，必须管理员开通了对应应用的小程序，这里才会显示，才能被创建小程序！</br>【应用小程序使用教程】：每个小程序都有自己的个性设置，特别是应用小程序，只有按合适的设置，小程序才能到达最佳效果;</br>这里是<em>六合一小程序</em>（微信/头条/抖音/支付宝/QQ轻应用/百度）；</br>同一个应用小程序可以<em>同时生成</em>其他不同的小程序！</br><red>【注意】：要想把小程序的粉丝跟H5公众号的粉丝打通，请移步：站点设置--》全网粉丝互通（只有开通了微信第三方开发平台，并且小程序关联了公众号，粉丝才能同步，不然微信那边没法确定，是不是同一粉丝）</red></br>【注意】：如果“上传代码”按钮上面有显示“new”，就表示有新版本，可以重新上传！<red>《消息推送对接》里面有小程序验证token的地址接口！</red></br>《消息推送对接》里面有小程序验证token的地址接口！</red></br>【<red>签名错误？openid不匹配？</red>】1、排查，小程序的微信支付商户号，微信支付密钥是否正确；2、微信小程序appid,微信小程序appsecret是否正确（特别是密钥，很容易重置过了，切不可知！）；3、小程序官方后台，白名单IP是否添加！
						</br>【<red>1、小程序网址是什么</red>】？小程序网址可以适用于从短信、邮件、微信外网页等场景打开小程序。
						</br>【<red>小程序短地址是什么</red>】？适合本系统内（H5页面和小程序页面）访问，跳转到另外一个小程序的地址。
						</br>【<red>2、小程序顶部导航没有</red>】？移步--全局设置---顶部导航设置---是否关闭顶部导航？设置后，要重新生成小程序代码。
						</br>【<red>3、小程序顶部导航有两个</red>】？移步--全局设置---顶部导航设置---关闭掉顶部导航？设置后，要重新生成小程序代码。
						</br>【<red>4、本地小程序配置</red>】？添加小程序--选择本地小程序--绑定小程序关联应用--提交保存--》下载《配置文件》--覆盖《本地小程序代码包》--里面的siteinfo.js文件---发布上传小程序代码！
						</br>【<red>5、如何一码智能跳转不同小程序</red>】？生活原型：一个线下二维码（印刷品），支付宝扫码，是支付宝小程序，微信扫码是微信小程序；操作很简单：1、登录小程序https://mp.weixin.qq.com/。--》开发--》开发管理--》扫普通链接二维码打开小程序，添加一个链接地址就行（支付宝同操作流程）。最后把这个链接地址生成二维码，印刷出来即可！
						</br>【<red>6、支付宝小程序提示：check sign fail</red>】？一般都是因为支付宝appid，支付宝应用私钥，支付宝公钥不匹配导致的！
						</br>【<red>7、百度工具预览小程序：打开空白</red>】？百度工具，有一个问题，经常性的要扫码登录（未登录时，他也不弹窗提示你！），才能正常使用小程序！
						</br>【<red>8、无法获取openid</red>】？1、检测小程序参数是否正确；2、小程序要求的HTTPS的TLS 版本必须大于等于 1.2
						</br>【<red>9、各种开发工具（字节跳动/支付宝/百度）一定要安装最新的</red>】？否则会有一些奇怪的问题出现！
					</br>【<red>10、直播小程序点击没反应</red>】？应该是没设置好：移步--全局设置--直播插件设置--开启直播--设置直播ID--然后重新打包小程序代码。
					</br>【<red>11、商品海报点击保存没反应</red>】？可能是downloadFile没有设置好，移步小程序官网后台--开发--服务器域名--downloadFile合法域名，加入附件域名（本地附件，设置网站域名即可）请参考文档：https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html
					</br>【<red>12、手机端打开小程序空白？</red>】？一般都是小程序没有配置：服务器域名--request合法域名（小程序官方后台https://mp.weixin.qq.com/--开发--开发管理）
					</br>【<red>13、地理位置相关接口(wx.getLocation)审核不通过</red>】？1、审核员会检索小程序包是否包含【地理位置相关接口】代码，如果存在，就会要求开通相关接口；2、申请开通【地理位置相关接口】，要告知具体使用这个接口在哪个页面（比如下单支付页面（开启同城配送后，会显示配送费，配送距离等），门店列表页，多商户列表页，都有显示距离，就要用到(wx.getLocation)，这几个显示距离的页面截图一下！（门店详情页，线下导航到门店，或截图配送员--客户订单--导航地址）），并截图提供效果图（这样审核员才能去测试体验效果：手机关闭获取位置授权，访问页面应该就会再次弹窗获取位置）；3、百度查看：小程序【地理位置相关接口】相关过审技巧！
					</br>【<red>14、OSS图片不显示？</red>】？移步小程序官方后台：开发管理--开发设置--uploadFile合法域名，downloadFile合法域名--添加OSS的域名地址；
					</br>【<red>15、城市,地图获取失败？</red>】（答：需要微信小程序官方添加request域名：https://apis.map.qq.com/）
					</br>【<red>16、支付成功，显示未支付？</red>】视频号自定义组件支付或新版支付（【消息推送对接】没对接好（开发管理--开发设置--消息推送--数据类型：XML（<red>必须是XML格式，否则回调失败</red>）），支付状态不更新，会显示未支付）；
					</br>【<red>17、页面不存在？</red>】？说明小程序原生态页面不存在；可以编辑小程序--分包/合并小程序--添加其他小程序页面进来（例如：商城小程序，板块导航添加了积分商城的任何页面地址，就必须合并积分商城小程序代码包，以此类推！）！
					</br>【<red>18、小程序订单中心path</red>】？商城系的是：/jy_weishop/order/list/index
				',
				'list'=>array(
				array('type'=>'string','title'=>'小程序名称','name'=>'title'),
				array('type'=>'string','title'=>'所属应用','name'=>'plugin_title'),
				array('type'=>'href','title'=>'粉丝管理','name'=>'fans'),
				array('type'=>'modal','title'=>'消息推送对接','op'=>'wxappapi'),
				array('type'=>'copy','title'=>'小程序网址','name'=>'wxappurl'),
				array('type'=>'copy','title'=>'小程序短地址','name'=>'wxapppath'),
				array('type'=>'modal','title'=>'支付参数设置','op'=>'pay','action'=>'wxapp.list'),
				array('type'=>'href','title'=>'下载二维码','op'=>'ewm'),
				array('type'=>'href','title'=>'版本列表','action'=>'/wxapp.list/version_list/'),
				array('op'=>'edit','title'=>'全局设置','type'=>'href'),
			),'action'=>array(
				array('action'=>'/wxapp.app_web_tpls/','title'=>'DIY布局','type'=>'href','show'=>array('candiy'=>1)),
				array('title'=>'启用DIY','type'=>'post','op'=>'set','show'=>array('candiy'=>1,'isdiy'=>0)),
				array('title'=>'关闭DIY','type'=>'post','op'=>'set','show'=>array('candiy'=>1,'isdiy'=>1)),
				array('type'=>'href','op'=>'up_app','title'=>'上传代码','shownew'=>1,'action'=>'wxapp.plugin','show'=>array('is_local'=>0)),
				array('type'=>'href','op'=>'siteinfojs','title'=>'配置文件','show'=>array('is_local'=>1)),
			)),
			'search_one'=>array('name'=>'title','add_op'=>'edit'),
	);
	$return['htmls']=$htmls;
	set_html('header','common/header');
	set_html('title','小程序');
	exi($return);
}
if($_RQ['op']=='up_app'){
	//上传小程序
	$id=intval($_RQ['id']);
	if($_RQ['fromweb'] && $id){
			$appid=pdo_getcolumn('core_account_wxapp',array('web_id'=>$id,'uniacid'=>$_SESSION['uniacid']),'id');
			if(!$appid){
				$insert=pdo_get('core_mobile_web',array('id'=>$id,'uniacid'=>$_SESSION['uniacid']),array('items','setting','title'));
				$insert['uniacid']=$_SESSION['uniacid'];
				$insert['type']=1;
				$insert['web_id']=$id;
				$insert['createtime']=time();
				pdo_insert('core_account_wxapp',$insert);
				$appid=pdo_insertid();
				pdo_update('core_mobile_web',array('wxapp_id'=>$appid),array('id'=>$id,'uniacid'=>$_SESSION['uniacid']));
			}
			$id=$appid;
	}
	if(!$id){
			exi('请先选择小程序！','error');
	}
	$plugin_name=pdo_getcolumn('core_account_wxapp',array('id'=>$id,'uniacid'=>$_SESSION['uniacid']),'plugin_name');
	$return['htmls']=array(
			'type'=>'look',
			'desc'=>'上传小程序',
			'tabs'=>array(
				array('op'=>'list','title'=>'小程序列表'),
				array('action'=>'/website.mobile_web/','title'=>'微站列表'),
				array('action'=>'/wxapp.list/version_list/','title'=>'小程序版本列表'),
			),
			'look'=>array(
				array('type'=>'tip','title'=>'除了微信小程序，其他小程序都需要下载小程序版本，手动上传！本小程序默认路径：<red>/'.$plugin_name.'/index/index</red> 用于微信官方：发布版本，体验版本路径的设置'),
				array('type'=>'href','url'=>'core/wxapp.list/up_desc/id='.$id,'title'=>'微信小程序','help'=>'','btntitle'=>'一键上传'),
				array('type'=>'href','url'=>'core/wxapp.list/add_version/apptype=ttapp&id='.$id,'title'=>'抖音/头条小程序','btntitle'=>'生成新版本','help'=>''),
				array('type'=>'href','url'=>'core/wxapp.list/add_version/apptype=aliapp&id='.$id,'title'=>'支付宝小程序','btntitle'=>'生成新版本','help'=>''),
				array('type'=>'href','url'=>'core/wxapp.list/add_version/apptype=baiduapp&id='.$id,'title'=>'百度小程序','btntitle'=>'生成新版本','help'=>''),
				array('type'=>'href','url'=>'core/wxapp.list/add_version/apptype=qqapp&id='.$id,'title'=>'QQ小程序','btntitle'=>'生成新版本','help'=>''),
				array('type'=>'href','url'=>'core/wxapp.list/add_version/apptype=ksapp&id='.$id,'title'=>'快手小程序','btntitle'=>'生成新版本','help'=>''),
			),
	);
	exi($return);
}
if($_RQ['op']=='add_version'){
		//添加版本
		//判断上传权限
		$no_upwxapp=pdo_getcolumn('core_account_group',array('id'=>$_SESSION['account']['groupid']),'no_upwxapp');
		if($no_upwxapp){
			exi('您当前的会员套餐，不允许发布小程序！','','goback');	
		}
		$app_id=intval($_RQ['id']);
		$item=pdo_get('core_account_wxapp',array('id'=>$app_id));
		if(!$item){
			exi('指定小程序不存在！','error');
		}
		$params=array(
			'appid'=>$item['appid'],
			'ks_appid'=>$item['ks_appid'],
			'tt_appid'=>$item['tt_appid'],
			'ali_appid'=>$item['ali_appid'],
			'baidu_appid'=>$item['baidu_appid'],
			'qq_appid'=>$item['qq_appid'],
			'type'=>$item['type'],
			'is_wz'=>$item['is_wz'],
			'title'=>$item['title'],
			'logo'=>tomedia($item['logo']),
			'siteroot'=>get_account_url(),
			'uniacid'=>$_SESSION['uniacid'],
			'app_id'=>$item['id'],
			'att_url'=>ATTACHMENT_URL,
			'items'=>$item['items'],
			'setting'=>$item['setting'],
			'url'=>$item['url'],
			'web_id'=>$item['web_id'],
			'isdiyindex'=>$item['isdiyindex'],
			'plugin_name'=>$item['plugin_name'],
			'istabbar'=>$item['istabbar'],
			'sharetitle'=>$item['sharetitle'],
			'sharedesc'=>$item['sharedesc'],
			'shareimg'=>tomedia($item['shareimg']),
		);
		if($item['type']==8){
			//多页小程序，读取额外小程序页面
			$cloudapptype=$_RQ['apptype']!='wxapp'?$_RQ['apptype']:'';
			$params['pages']=pdo_getall('core_account_wxapp_pages',array('wxapp_id'=>$item['id']));
			if($params['plugin_name'] !='core'){
				$params['cloud_id']=pdo_getcolumn('core_wxapp',array('name'=>$item['plugin_name']),'cloud_id');
				if(empty($params['cloud_id'])){
					exi('未安装本['.$return['apptypes'][$_RQ['apptype']].']应用小程序，请联系管理员！也可以前往《打包小程序》，实现需求！','error');
				}
			}
		}
		if($item['type']==2){
			//应用小程序，读取应用ID
			$cloudapptype=$_RQ['apptype']!='wxapp'?$_RQ['apptype']:'';
			$params['cloud_id']=pdo_getcolumn('core_wxapp',array('id'=>$item['wxapp_id']),'cloud_id');
			if(empty($params['cloud_id'])){
				exi('未安装本['.$return['apptypes'][$_RQ['apptype']].']应用小程序，请联系管理员！也可以前往《打包小程序》，实现需求！','error');
			}
			
		}
		$menu=pdo_getcolumn('core_diy_menu',array('uniacid'=>$_SESSION['uniacid'],'status'=>1,'plugin'=>'core'),'data');
		if($menu){
			$menu=json_decode($menu,true);
			$params['menu']=$menu;
		}
		if($params['is_wz']){
			$open_user=pdo_get('core_open_user',array('id'=>$_SESSION['openid']));
			if($open_user){
				$params['uniacid']=$open_user['open_uid'];
				$params['siteroot']=pdo_getcolumn('core_open',array('id'=>$open_user['open_id']),'siteroot');
				if(empty($params['siteroot'])){
					exi('请先设置第三方平台域名,联系管理员设置！','error','goback');
				}
			}else{
				exi('非第三方进入，不可上传支持第三方的小程序！','error','goback');
			}
					
		}
		$post=array('params'=>base64_encode(ijson_encode($params)),'apptype'=>$_RQ['apptype']);
		$res=cloud_request('wxapp.release_app.login',$post,'','',3);
		exi('生成版本成功,请下载发布！','','/wxapp.list/version_list/id='.$app_id.'&type='.$_RQ['apptype']);
}
if($_RQ['op']=='ewm'){
	//exi('开发中！','error');
	if($_RQ['postdata']){
		$post=get_postdata();
		$id=intval($post['id']);
		$wxapp=pdo_get('core_account_wxapp',array('id'=>$id));
		if(!$wxapp){
			exi('指定小程序不存在！','error');
		}
		if(!$wxapp['appid'] || !$wxapp['appsecret']){
			exi('公众号参数缺失，无法生成小程序二维码！','error');
		}
		$action=trim($post['action']);
		if(!$action){
			exi('请输入页面action','error');
		}
		$action_array=links($action);
		$action_array['action']=str_replace('.','/',$action_array['action']);
		$attachment=pdo_getcolumn('core_account_wxapp_ewm',array('wxapp_id'=>$id,'action'=>$action),'attachment');
		if(!$attachment){
			//$action_dir=str_replace('.','/',$action);
			$page="/{$action_array['plugin']}/{$action_array['action']}/index";
			if($action_array['query']){
				$page.="?".$action_array['query'];
			}
			$data=model('core/wxapp')->appcode($page,$wxapp['appid'],$wxapp['appsecret']);
			$attachment=model('core/files')->source_save($data,'data','jpg');
			$insert=array(
				'uniacid'=>$_SESSION['uniacid'],
				'wxapp_id'=>$id,
				'action'=>$action,
				'attachment'=>$attachment,
			);
			pdo_insert('core_account_wxapp_ewm',$insert);
		}
		$ewm_url=tomedia($attachment);
		exi('','','',$ewm_url);
	}
	$id=intval($_RQ['id']);
	$item=array(
		'id'=>$id,
	);
	$return['item']=$item;
	$return['htmls']=array(
		'type'=>'edit',
		'edit'=>array(
			array('type'=>'link','name'=>'action','from'=>'action','title'=>'页面action','help'=>'根据url生成不同的小程序码，填写标准完整的页面action'),
		),
	);
	exi($return);
}
if($_RQ['op']=='edit'){
	//新增编辑小程序
	if($_RQ['postdata']){
		$post=get_postdata();
		if(!$post['plugin_name']){
			exi('请绑定所属应用！','error');
		}
		$id=intval($post['id']);
		$post['setting']['window']['navigationBarBackgroundColor']=$post['navigationBarBackgroundColor'];
		$post['setting']['window']['backgroundColor']=$post['backgroundColor'];
		$post['setting']['window']['backgroundColorTop']=$post['backgroundColorTop'];
		$post['setting']['window']['backgroundColorBottom']=$post['backgroundColorBottom'];
		$post['setting']['subpackages']=$post['subpackages'];
		$data=array(
			'title'=>$post['title'],
			'desc'=>$post['desc'],
			'logo'=>$post['logo'],
			'plugin_name'=>trim($post['plugin_name']),
			'appid'=>trim($post['appid']),
			'appsecret'=>trim($post['appsecret']),
			'tt_appid'=>trim($post['tt_appid']),
			'tt_secret'=>trim($post['tt_secret']),
			'ali_appid'=>trim($post['ali_appid']),
			'alipay_private_key'=>trim($post['alipay_private_key']),
			'alipay_public_key'=>trim($post['alipay_public_key']),
			'baidu_appid'=>trim($post['baidu_appid']),
			'baidu_secret'=>trim($post['baidu_secret']),
			'qq_appid'=>trim($post['qq_appid']),
			'qq_secret'=>trim($post['qq_secret']),
			'ks_appid'=>trim($post['ks_appid']),
			'ks_secret'=>trim($post['ks_secret']),
			'oldid'=>$post['oldid'],
			'url'=>trim($post['url']),
			'shownums'=>ijson_encode($shownums),
			'setting'=>ijson_encode($post['setting']),
			'istabbar'=>intval($post['istabbar']),
			'sharetitle'=>trim($post['sharetitle']),
			'sharedesc'=>trim($post['sharedesc']),
			'shareimg'=>trim($post['shareimg']),
			'syscolor'=>$post['setting']['window']['navigationBarBackgroundColor'],
			'is_local'=>intval($post['is_local']),
		);
		if($id){
			$data['access_token']='';
			$data['expire']=0;
			$data['refresh_token']='';
			pdo_update('core_account_wxapp',$data,array('id'=>$id,'uniacid'=>$_SESSION['uniacid']));
		}else{
			$data['type']=2;
			$data['wxapp_id']=intval($post['wxapp_id']);
			$data['uniacid']=$_SESSION['uniacid'];
			$data['createtime']=TIMESTAMP;
			pdo_insert('core_account_wxapp',$data);
		}
		exi('操作成功！','','list');
	}
	$id=intval($_RQ['id']);
	if($id){
		$item=pdo_get('core_account_wxapp',array('id'=>$id,'uniacid'=>$_SESSION['uniacid']));
	}else{
		$item=array();
		if($_RQ['wxapp_id']){
			$wxappinfo=pdo_get('core_wxapp',array('id'=>$_RQ['wxapp_id']),array('id','title','image','name'));
		}elseif($_SESSION['plugin_name']){
			//$wxappinfo=pdo_get('core_wxapp',array('name'=>$_SESSION['plugin_name']),array('id','title','image','name'));
		}
		$item['title']=$wxappinfo['title'];
		$item['logo']=$wxappinfo['image'];
		$item['plugin_name']=$wxappinfo['plugin']?$wxappinfo['plugin']:$wxappinfo['name'];
		$item['wxapp_id']=intval($wxappinfo['id']);
	}
	$item['is_local']=$item['is_local']?:'0';
	
	$setting =$item['setting'] ? json_decode($item['setting'],true):array('isfooter'=>0);
	$setting['window']=$setting['window']?$setting['window']:array('navigationStyle'=>'');
	$setting['footer']=$setting['footer']?$setting['footer']:array('background'=>'#fff');
	$setting['footer']['menus']=$setting['footer']['menus']?$setting['footer']['menus']:array();
	$setting['window']['navigationBarBackgroundColor']=$setting['window']['navigationBarBackgroundColor']?$setting['window']['navigationBarBackgroundColor']:'#f10215';
	$setting['window']['navigationBarTextStyle']=$setting['window']['navigationBarTextStyle']?$setting['window']['navigationBarTextStyle']:'white';
	if($item['plugin_name']=='jy_weishop'){
			$setting['window']['navigationStyle']='custom';
			$locknavigationStyle=true;
	}else{
		$locknavigationStyle=false;
	}
	$item['navigationBarBackgroundColor'] = $setting['window']['navigationBarBackgroundColor'];
	$item['backgroundColor'] = $setting['window']['backgroundColor'];
	$item['backgroundColorTop'] = $setting['window']['backgroundColorTop'];
	$item['backgroundColorBottom'] = $setting['window']['backgroundColorBottom'];
	$item['subpackages'] = $setting['subpackages'];
	$item['setting'] = $setting;
	$item['news_num']=$item['shownums']['news_num'];
	$item['stores_num']=$item['shownums']['stores_num'];
	$item['products_num']=$item['shownums']['products_num'];
	$item['anlis_num']=$item['shownums']['anlis_num'];
	$return['item']=$item;
	$return['navigationBarTextStyles'] =array('white'=>'white','black'=>'black');
	$return['backgroundTextStyles'] =array('dark'=>'dark','light'=>'light');
	$return['borderStyles'] =array('white'=>'white','black'=>'black');
	$return['positions'] =array('bottom'=>'bottom','top'=>'top');
	$return['navigationStyles'] =array('default'=>'开启','custom'=>'关闭');
	$return['iconstyle'] =array('0'=>'图片图标','1'=>'字体图标');
	$return['htmls']=array(
		'type'=>'edit',
		'desc'=>'设置小程序基本参数',
		'tabs'=>array(
			array('op'=>'list','title'=>'返回小程序列表'),
		),
		'edit_tab'=>true,
			'edits'=>array(
					array(
					'title'=>'基本信息','list'=>array(
						array('type'=>'string','name'=>'title','title'=>'小程序名称'),
						array('type'=>'image','name'=>'logo','title'=>'小程序logo'),
						array('type'=>'switch','name'=>'is_local','title'=>'本地小程序？','help'=>'《本地小程序》是指：无需线上生成小程序源码包。客户自行把手头的小程序包上传。（【<red>怎么本地小程序配置</red>】？添加小程序--选择本地小程序--绑定小程序关联应用--提交保存--》下载《配置文件》--覆盖《本地小程序代码包》--里面的siteinfo.js文件---发布上传小程序代码！）'),
						array('type'=>'choose','action'=>'core/wxapp.plugin/get_plugins/','title'=>'绑定所属的应用','name'=>'plugin_name','help'=>'选择要绑定的小程序应用（<red>这只显示已经开启【小程序支持】的应用</red>），有时候底部菜单，是由绑定的应用决定的（绑定的应用后台设置的什么菜单，小程序就显示什么菜单！）。','show'=>array('is_local'=>0)),
						array('name'=>'plugin_name','title'=>'绑定小程序应用','type'=>'select_more','option_value'=>'name','options'=>'plugins','show'=>array('is_local'=>1)),
						array('type'=>'string','title'=>'appid','name'=>'appid','help'=>'填写小程序appid' ),
						array('type'=>'string','title'=>'appsecret','name'=>'appsecret','help'=>'填写小程序 appsecret' ),
						array('type'=>'string','title'=>'原始ID','name'=>'oldid','help'=>'填写小程序原始ID' ),
						array('type'=>'color_pool','name'=>'navigationBarBackgroundColor','title'=>'选择配色方案','help'=>''),
						array('type'=>'colorpicker','name'=>'navigationBarBackgroundColor','title'=>'小程序全局主色','help'=>''),
						array('type'=>'radio','name'=>'setting.window.navigationBarTextStyle','title'=>'导航栏标题颜色','options'=>'navigationBarTextStyles','option_value'=>'dtitle'),
						array('type'=>'phone_tpl','name'=>'navigationBarBackgroundColor','demo'=>1,'title'=>'演示效果'),
						),
					),
					array(
						'title'=>'六合一设置','list'=>array(
							array('type'=>'tip','title'=>'微信小程序参数设置（要先去微信官网申请小程序，申请教程：<a href="javascript:;" ng-click="modal_json(\'core/wxapp.authlist/help/\')" class="btn btn-primary" style="padding:2px 6px;font-size:12px;">点击前往</a>）'),
							array('type'=>'string','title'=>'微信appid','name'=>'appid','help'=>'填写微信小程序appid' ),
							array('type'=>'string','title'=>'微信appsecret','name'=>'appsecret','help'=>'填写微信小程序 appsecret' ),
							array('type'=>'string','title'=>'原始ID','name'=>'oldid','help'=>'填写微信小程序原始ID'),
							array('type'=>'tip','title'=>'头条/抖音小程序参数设置'),
							array('type'=>'string','title'=>'头条/抖音appid','name'=>'tt_appid','help'=>'填写小程序appid' ),
							array('type'=>'string','title'=>'头条/抖音appsecret','name'=>'tt_secret','help'=>'填写小程序 appsecret' ),
							array('type'=>'tip','title'=>'支付宝小程序参数设置'),
							array('type'=>'string','title'=>'支付宝appid','name'=>'ali_appid','help'=>'填写小程序appid；支付宝开放平台：https://open.alipay.com/' ),
							array('type'=>'text','title'=>'支付宝应用私钥','name'=>'alipay_private_key','help'=>'支付宝开放平台创建应用成功后，进入应用设置(路径：开发中心—小程序应用—选择小程序-设置–开发设置)应用加签方式<red>选择第二个“公钥”</red>，设置应用公钥。使用密钥生成器(工具安装：https://opendocs.alipay.com/open/291/105971#Krqvg，选择：RSA2，PKCS1(非JAVA适用))生成一对密钥，将私钥填至此处，将公钥填于支付宝开放平台！'),
							array('type'=>'text','title'=>'支付宝公钥','name'=>'alipay_public_key','help'=>'成功设置应用私钥后，可以在同一个地方查看支付宝公钥，复制到此处！'),
							array('type'=>'tip','title'=>'百度小程序参数设置'),
							array('type'=>'string','title'=>'百度appid','name'=>'baidu_appid','help'=>'填写小程序appid' ),
							array('type'=>'string','title'=>'百度appsecret','name'=>'baidu_secret','help'=>'填写小程序 appsecret' ),
							array('type'=>'tip','title'=>'QQ轻应用参数设置'),
							array('type'=>'string','title'=>'QQ轻应用appid','name'=>'qq_appid','help'=>'填写小程序appid；前往QQ互联申请：https://connect.qq.com/'),
							array('type'=>'string','title'=>'QQ轻应用appkey','name'=>'qq_secret','help'=>'填写小程序 appkey；前往QQ互联申请：https://connect.qq.com/'),
							array('type'=>'tip','title'=>'快手小程序参数设置'),
							array('type'=>'string','title'=>'快手appid','name'=>'ks_appid','help'=>'填写小程序appid' ),
							array('type'=>'string','title'=>'快手appsecret','name'=>'ks_secret','help'=>'填写小程序 appsecret' ),
						),
					),
					array(
					'title'=>'顶部导航设置','list'=>array(
						array('type'=>'radio','name'=>'setting.window.navigationStyle','read'=>$locknavigationStyle,'title'=>'是否关闭顶部导航','options'=>'navigationStyles','option_value'=>'dtitle','help'=>'<red>‘关闭导航’的情况下：顶部导航将启用系统自带的。而小程序本身自带的顶部导航等设置将失效，窗口样式，导航栏样式都将失效</red>。有些应用小程序，会被默认，<em>不能修改</em>。‘关闭’情况下只保留右上角胶囊按钮(‘关闭’情况下支持顶部图片背景)'),
						array('type'=>'image','name'=>'setting.window.navtop_bgimg','title'=>'导航栏背景图片'.$locknavigationStyle,'help'=>'导航栏为‘关闭’，才生效！尺寸：750*160；小程序顶部背景图片'),
						array('type'=>'radio','name'=>'setting.window.navigationBarTextStyle','title'=>'导航栏标题颜色','options'=>'navigationBarTextStyles','option_value'=>'dtitle'),
						array('type'=>'string','name'=>'setting.window.navigationBarTitleText','title'=>'导航栏标题','help'=>'导航栏标题文字内容！留空这使用小程序名称'),
					),
					),
					array(
						'title'=>'窗口样式设置','list'=>array(
							array('type'=>'colorpicker','name'=>'backgroundColor','title'=>'窗口的背景色','help'=>'默认白色，大部分不用填写！'),
							array('type'=>'radio','name'=>'setting.window.backgroundTextStyle','title'=>'窗口的背景色','options'=>'backgroundTextStyles','option_value'=>'dtitle'),
							array('type'=>'colorpicker','name'=>'backgroundColorTop','title'=>'顶部窗口的背景色','help'=>'顶部窗口的背景色，仅 iOS 支持,微信版本 6.5.16'),
							array('type'=>'colorpicker','name'=>'backgroundColorBottom','title'=>'底部窗口的背景色','help'=>'顶部窗口的背景色，仅 iOS 支持,微信版本 6.5.16'),
						),
					),
					array(
						'title'=>'分享设置','list'=>array(
							array('type'=>'string','name'=>'sharetitle','title'=>'小程序分享标题','help'=>'小程序分享标题'),
							array('type'=>'string','name'=>'sharedesc','title'=>'小程序分享描述','help'=>'小程序首页分享描述'),
							array('type'=>'image','name'=>'shareimg','title'=>'小程序分享图片','help'=>'小程序首页分享图片自定义，留空则默认截屏分享！'),
						),
					),
					array(
						'title'=>'直播插件设置','list'=>array(
							array('type'=>'switch','name'=>'setting.live.isopen','title'=>'是否开启小程序直播','help'=>'（<red>必须前往微信小程序官方--设置--第三方设置--插件管理--开通小程序直播插件，如果本小程序没有开通小程序直播插件，贸然开启，会导致小程序无法访问！同时无法上传发布小程序新版本！</red>）'),
							array('type'=>'string','name'=>'setting.live.version','title'=>'直播插件版本号','help'=>'微信官方小程序后台--》设置--第三方设置--插件--》直播插件，获取直播插件版本号；例如：1.0.2'),
							array('type'=>'string','name'=>'setting.live.provider','title'=>'直播插件id','help'=>'微信官方小程序后台--》设置--第三方设置--插件--》直播插件，获取直播插件id;例如：wx2b03c6e691cd7370'),
						),
					),
					array(
						'title'=>'其他全局设置','list'=>array(
							array('type'=>'switch','name'=>'setting.window.enablePullDownRefresh','title'=>'是否全局开启下拉刷新'),
							array('type'=>'string','name'=>'setting.window.onReachBottomDistance','title'=>'上拉触底距离','help'=>'只能填数字，默认50，页面上拉触底事件触发时距页面底部距离，单位为px'),
							array('type'=>'switch','name'=>'setting.window.no_location','title'=>'关闭地理位置相关接口','help'=>'关闭后地理位置接口失效，方便小程序审核通过！或者：<red>直接申请地理位置接口，只需带上获取位置的截图就可以过</red>！'),
							array('type'=>'switch','name'=>'setting.iscanh5','title'=>'是否支持H5访问','help'=>'启用后，原生态小程序可以访问H5页面！'),
						),
					),
					array(
						'title'=>'分包/合并小程序','list'=>array(
							array('type'=>'tip','title'=>'[温馨提示]：这里可以勾选多个其他的小程序，把包合并过来！随意组合小程序！如果是【本地小程序】，这里设置无效！'),
							array('type'=>'checkbox','name'=>'subpackages','title'=>'选择要添加的分包小程序','options'=>'wxapps'),
						),
					),
		),
	);
	$return['plugins']=pdo_getall('core_plugins',array('type'=>array(3,4)),array('name','title'),'name');
	$wxapps=pdo_getall('core_wxapp',array('type <>'=>4,'name <>'=>$item['plugin_name']),array('name','title'),'name');
	$return['wxapps']=array();
	foreach($wxapps as $wx){
		$return['wxapps'][$wx['name']]=$wx['title'];
	}
	exi($return);
}
if($_RQ['op']=='get_plugins'){
	//小程序
	$wxapp_id=intval($_RQ['id']);
	$params=array('type <>'=>4);
	if($_RQ['title']){
		$params['title like']='%'.trim($_RQ['title']).'%';
		$return['params']['title']=trim($_RQ['title']);
	}
	$fields=array('id','title','plugin','version','name');
	$pindex = max(1, $_RQ['page']);
	$psize = 15;
	$total='';
	$list=pdo_getslice('core_wxapp',$params,array($pindex,$psize),$total,$fields);
	if($list){
		foreach($list as &$item){
			$item['plugin']=$item['plugin']?$item['plugin']:$item['name'];
			$item['plugin']=pdo_getcolumn('core_plugins',array('name'=>$item['plugin']),'title');
			$item['buy']=0;
			//整理返回数据
			if($_RQ['many']=='1'){
				$item['res']=array('name'=>$item['name'],'title'=>$item['title'],'image'=>$item['image']);
			}else{
				$item['res']=$item['name'];
			}
		}
	}
	$return['list']=$list;
	$totalpage=ceil($total/$psize);
	$totalpage=intval($totalpage);
	$return['totalpage'] =$totalpage;
	$return['params']['page'] =$pindex;
	$htmls=array(
		'type'=>'list',
		'list'=>array('data'=>'list','tip'=>'[温馨提示]：
		</br>1、不显示小程序？（<red>这只显示已经开启【小程序支持】的应用小程序</red>）；
		</br>2、可以联系管理员开通支持（系统管理--插件小程序）；
		'
		,'del_one'=>false,'delall'=>false,'edit'=>false,'list'=>array(
			array('type'=>'string','title'=>'小程序名称','name'=>'title'),
			array('type'=>'string','title'=>'所属应用','name'=>'plugin'),
			array('type'=>'string','title'=>'小程序标识','name'=>'name'),
		),'action'=>array(
			array('type'=>'modal_result','name'=>'res','title_field'=>'nickname','title'=>'选取'),
		)),
		'search_one'=>array('name'=>'title'),
	);
	$return['htmls']=$htmls;
	exi($return);
}
if($_RQ['op']=='get_wxapps'){
	//小程序
	$params=array('uniacid'=>$_SESSION['uniacid']);//应用小程序
	if($_RQ['type']!='all'){
		$params['type']=intval($_RQ['type'])?:2;
	}
	if($_RQ['title']){
		$params['title like']='%'.trim($_RQ['title']).'%';
		$return['params']['title']=trim($_RQ['title']);
	}
	$fields=array('id','title','type','version','plugin_name','isdiyindex');
	$pindex = max(1, $_RQ['page']);
	$psize = 10;
	$total='';
	$list=pdo_getslice('core_account_wxapp',$params,array($pindex,$psize),$total,$fields,'','id desc');
	$return['list']=$list?$list:array();
	$totalpage=ceil($total/$psize);
	$totalpage=intval($totalpage);
	$return['totalpage'] =$totalpage;
	$return['params']['page'] =$pindex;
	$htmls=array(
		'type'=>'list',
		'tabs'=>array(
			array('op'=>'addons','title'=>'创建应用小程序'),
			array('op'=>'list','title'=>'应用小程序列表'),
		),
		'list'=>array('data'=>'list','list'=>array(
			array('type'=>'string','title'=>'小程序名称','name'=>'title'),
			array('type'=>'string','title'=>'所属应用','name'=>'plugin_title'),
			array('type'=>'href','title'=>'粉丝管理','name'=>'fans'),
			array('type'=>'modal','title'=>'支付参数设置','op'=>'pay','action'=>'wxapp.list'),
			array('type'=>'href','title'=>'下载二维码','op'=>'ewm'),
		),'action'=>array(
			array('type'=>'modal_result','name'=>'res','title_field'=>'nickname','title'=>'选取'),
		)),
		'search_one'=>array('name'=>'title'),
	);
	$return['htmls']=$htmls;
	exi($return);
}
if($_RQ['op']=='help'){
	$return['htmls']=array(
			'type'=>'look',
			'desc'=>'小程序日常教程',
			'tabs'=>$tabs,
			'look'=>array(
				array('type'=>'tip','title'=>'【使用教程】：每个小程序都有自己的个性设置，特别是应用小程序，只有按合适的设置，小程序才能到达最佳效果。'),
				array('type'=>'help','title'=>'一、小程序显示不完美?','help'=>'
					1、<em>顶部导航背景色不搭？</em>（答：小程序设置--顶部导航设置--顶部背景色--选择合适的颜色）；</br>
					2、<em>顶部导航栏标题显示异常，比如：重复，位置不当等</em>（答：有些小程序是需要配合关闭顶部导航的，移步顶部导航设置）；</br>
				'),
				array('type'=>'help','title'=>'一、其他异常问题?','help'=>'
					1、<em>小程序支付成功后，订单状态还是待支付？</em>（答：可能微信支付那边没有设置好回调地址：）</br>
					开启微信支付后，请将下面的支付授权目录填至微信公众平台：</br>
					a,JSAPI支付授权目录：https://你的域名/custom/</br>
					b,扫码回调链接：https://你的域名/custom/payresult/wechat_notify.php</br>
					2、<red>获取不到地理位置，获取不到城市名称？报错requet:fail url not in domain list？</red>（答：需要微信小程序官方添加request域名：https://apis.map.qq.com/）</br>
					3、<em>底部菜单异常？</em>（答：底部菜单是由绑定的应用决定的，全局设置--绑定应用--选择绑定的应用）</br>
					4、<em>小程序页面路径问题异常？</em>（答：微信官方默认页面路径是/pages/index/index，这个是不对的，必须改成对应小程序的路径，移步---小程序列表--《上传代码》--上面有文字说明当前的小程序页面路径！）</br>
					5、<red>打开空白？</red>（答：很有可能是服务器没有部署https,导致无法获取数据！）</br>
					6、<red>部分数据不加载？</red>（答：需要微信小程序官方添加request域名：https://apis.map.qq.com/）
				'),
			),
	);
	exi($return);
}
if($_RQ['op']=='set'){
	$id=intval($_RQ['id']);
	if(!$id){
		exi('参数错误！','error');
	}
	$isdiy=pdo_getcolumn('core_account_wxapp',array('id'=>$id,'uniacid'=>$_SESSION['uniacid']),'isdiy');
	pdo_update('core_account_wxapp',array('isdiy'=>$isdiy?0:1),array('id'=>$id,'uniacid'=>$_SESSION['uniacid']));
	exi('操作成功！');
}
if($_RQ['op']=='del'){
	$dels=array();
	
	if($_RQ['del']){
		$dels=str_array($_RQ['del']);
	}
	$id=intval($_RQ['id']);
	if($id){
		$dels[]=$id;
	}
	if($dels){
		foreach($dels as $id){
			pdo_delete('core_account_wxapp',array('id'=>$id,'uniacid'=>$_SESSION['uniacid']));
		}
	}
	exi('删除成功！');
}
//设置小程序对接参数
if($_RQ['op']=='wxappapi'){
	$id=intval($_RQ['id']);
		if(!$id){
			exi('请先选择要设置的小程序！','error');
		}
		$item=pdo_get('core_account_wxapp',array('id'=>$id,'uniacid'=>$_SESSION['uniacid']),array('id','title'));
		$account=pdo_get('core_accounts',array('uniacid'=>$_SESSION['uniacid']));
		$item['url']=$_AR['siteroot'].'api/wxapi.php?id='.$_SESSION['uniacid'].'&wxappid='.$id;
		$item['token']=$account['token'];
		$item['aeskey']=$account['aeskey'];
		$return['item']=$item;
		$return['htmls']=array(
			'type'=>'look',
			'desc'=>'对接参数',
			'look'=>array(
				array('type'=>'tip','title'=>'[温馨提示]：移步小程序后台--》开发--》开发设置--》消息推送--》把下面的内容，一个个对应复制粘贴，然后验证绑定！<red>注意：视频号自定义组件支付或新版支付（【消息推送对接】没对接好，支付状态不更新，会显示未支付）,小程序卡券，会员卡等领取相关动作，会用到该消息推送</red>'),
				array('type'=>'copy','title'=>'服务器地址','name'=>'url', 'help'=>'登录小程序账号后台：设置-开发设置-消息推送-启用-扫码-消息推送配置-提交'),
				array('type'=>'copy','title'=>'令牌（Token）','name'=>'token','help'=>'','must'=>true),
				array('type'=>'copy','title'=>'消息加解密密钥(EncodingAESKey)','name'=>'aeskey','help'=>'','must'=>true),
			),
		);
		exi($return);
}
if($_RQ['op']=='renzheng'){
	//上传认证文件
	if($_RQ['postdata']){
		$post=get_postdata();
		if(!$post['renzheng']){
			exi('请先上传认证文件！','error');
		}
		$filename=pdo_getcolumn('core_attachment',array('attachment'=>$post['renzheng']),'title');
		if(preg_match('/[^\w\.-]/',$filename)){
			exi('认证文件名不合法！','error');
		}
		$file_data=cfc('files')->source_read($post['renzheng']);
		if(strlen($file_data)>100){
			exi('上传失败！认证文件内容超过限制！','error');
		}
		file_put_contents(ROOT_D.'/'.$filename.'.txt',$file_data);
		exi('上传成功！');
	}
	$return['item']=array();
	$return['htmls']=array(
		'type'=>'edit',
		'desc'=>'上传认证文件',
		'tabs'=>array(
			array('op'=>'list','title'=>'应用小程序列表'),
			array('op'=>'renzheng','title'=>'域名认证文件上传'),
		),
		'edit'=>array(
			array('type'=>'upfile','title'=>'认证文件','name'=>'renzheng','ftype'=>'other','help'=>'本功能用于上传认证文件到站点根目录！例如，小程序或公众号设置授权域名时，提示需要上传认证文件。请下载下来，并在此处上传。'),
		),
	);
	exi($return);
}
if($_RQ['op']=='upbao'){
	//包合并
	if($_RQ['postdata']){
		$post=get_postdata();
		if(!$post['wxapp_id']){
			exi('请选择选择主小程序！','error');
		}
		if(!$post['wxappname1']){
			exi('选择次小程序01！','error');
		}
		if($post['wxappname1']){
			if($post['wxappname1']==$post['wxappname2'] || $post['wxappname1']==$post['wxappname3'] || $post['wxappname1']==$post['wxappname4'] || $post['wxappname1']==$post['wxappname5']){
				exi('次小程序不能重复选择！','error');
			}
		}
		if($post['wxappname2']){
			if($post['wxappname1']==$post['wxappname2'] || $post['wxappname2']==$post['wxappname3'] || $post['wxappname2']==$post['wxappname4'] || $post['wxappname2']==$post['wxappname5']){
				exi('次小程序不能重复选择！','error');
			}
		}
		if($post['wxappname3']){
			if($post['wxappname1']==$post['wxappname3'] || $post['wxappname2']==$post['wxappname3'] || $post['wxappname3']==$post['wxappname4'] || $post['wxappname3']==$post['wxappname5']){
				exi('次小程序不能重复选择！','error');
			}
		}
		if($post['wxappname4']){
			if($post['wxappname4']==$post['wxappname1'] || $post['wxappname4']==$post['wxappname2'] || $post['wxappname4']==$post['wxappname3'] || $post['wxappname4']==$post['wxappname5']){
				exi('次小程序不能重复选择！','error');
			}
		}
		if($post['wxappname5']){
			if($post['wxappname5']==$post['wxappname1'] || $post['wxappname5']==$post['wxappname2'] || $post['wxappname5']==$post['wxappname3'] || $post['wxappname5']==$post['wxappname4']){
				exi('次小程序不能重复选择！','error');
			}
		}
		$_SESSION['bao_up']=$post;
		exi('','','/wxapp.bao_up/up_desc/id='.$post['wxapp_id']);
	}
	$return['item']=array();
	$return['htmls']=array(
		'type'=>'edit',
		'desc'=>'多小程序包合并',
		'tabs'=>array(
			array('op'=>'list','title'=>'应用小程序列表'),
			array('op'=>'renzheng','title'=>'域名认证文件上传'),
			array('op'=>'upbao','title'=>'多小程序包合并'),
		),
		'edit'=>array(
			array('type'=>'tip','title'=>'【合并教程】主要分两种《手动合并》，《自动合并》：
				</br>一、手动合并；
				</br>1、先解压《次小程序》包，把所有的《次小程序》包合并在一起；
				</br>2、最后解压《主小程序》包；把《主小程序》包的所有文件覆盖到《次小程序》包。
				</br>3、最终得到的就是《合并小程序》包。
				</br>二、点击下面的自动合并；
			'),
			array('type'=>'select','title'=>'选择主小程序','name'=>'wxapp_id','options'=>'account_wxapp','help'=>'就是访问首页的主小程序'),
			array('type'=>'select','title'=>'选择次小程序01','name'=>'wxappname1','options'=>'wxapps','option_value'=>'name','help'=>'要合并的次小程序包'),
			array('type'=>'select','title'=>'选择次小程序02','name'=>'wxappname2','options'=>'wxapps','option_value'=>'name','help'=>'要合并的次小程序包'),
			array('type'=>'select','title'=>'选择次小程序03','name'=>'wxappname3','options'=>'wxapps','option_value'=>'name','help'=>'要合并的次小程序包'),
			array('type'=>'select','title'=>'选择次小程序04','name'=>'wxappname4','options'=>'wxapps','option_value'=>'name','help'=>'要合并的次小程序包'),
			array('type'=>'select','title'=>'选择次小程序05','name'=>'wxappname5','options'=>'wxapps','option_value'=>'name','help'=>'要合并的次小程序包'),
		),
	);
	$params=array('type <>'=>4,'cloud_id >'=>0);
	$fields=array('id','title','plugin','version','name','cloud_id');
	$return['wxapps']=pdo_getall('core_wxapp',$params,$fields,'name');
	$params=array('uniacid'=>$_SESSION['uniacid'],'type'=>2);
	$return['account_wxapp']=pdo_getall('core_account_wxapp',$params,array('id','title'),'id');
	exi($return);
}
if($_RQ['op']=='siteinfojs'){
	$id=intval($_RQ['id']);
	if($id){
		$wxapp=pdo_get('core_account_wxapp',array('id'=>$id),array('id','title','version'));
	}else{
		$name=$_RQ['name'];
	}
	$js=file_get_contents(ROOT_D.'/core/resource/wxapp/siteinfo.js');
	$js=str_replace('{name}',$wxapp['title'],$js);
	$js=str_replace('{i}',$_SESSION['uniacid'],$js);
	$js=str_replace('{wxgid}',$id,$js);
	$js=str_replace('{version}',$wxapp['version'],$js);
	$js=str_replace('{siteroot}',SITEROOT.'/custom/index.php',$js);
	$siteinfojs=ROOT_AT.'siteinfo'.$_SESSION['uniacid'].'_'.$id.'.js';
	file_put_contents($siteinfojs,$js);
	$url=download_url('core/wxapp.plugin/down_load/id='.$id);
	exi('','',$url);
}
if($_RQ['op']=='down_load'){
	//下载包
	$id=$_RQ['id'];
	if(!$id){
		exi('下载小程序配置文件出错！','error');
	}
	$siteinfojs=ROOT_AT.'siteinfo'.$_SESSION['uniacid'].'_'.$id.'.js';
	header('content-type: application/js');
	header('content-disposition: attachment; filename="siteinfo.js"');
	readfile($siteinfojs);
	@unlink($siteinfojs);
	exit();
}